package com.huahua.myIdea.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;

/**
 * 地址类
 *
 * 对应数据库中的address表
 * @Entity 注解用于标记实体类，表示该类会被映射到数据库中的一个表。
 * @Table 注解用于标注实体类与数据库表之间的映射关系，并可以指定表的名称、唯一约束等信息。
 */
@Entity
@Table(name = "address")
@Data
public class Address {
    /**
     * 地址id
     *
     * 该字段对应数据库中的列为主键
     * 主键自增长
     * 对应address表中的id列
     *
     * @Column 注解用于标注实体类属性与数据表字段之间的映射关系，并可以指定字段名称、长度、精度等信息。
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Long id;

    /**
     * 地址名称
     *
     * 对应address表中的name列
     */
    @Column(name = "name")
    private String name;

    /**
     * 详细地址
     *
     * 对应address表中的detail列
     */
    @Column(name = "detail")
    private String detail;

    /**
     * 联系方式
     *
     * 对应address表中的phone列
     */
    @Column(name = "phone")
    private String phone;

    @ManyToOne
    @JsonIgnore
    private GoodsDo user;
}
